package com;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.mybatis.spring.annotation.MapperScan;
@SpringBootApplication
//这是一个组合注解，包含了 @Configuration、@EnableAutoConfiguration 和 @ComponentScan。
//@Configuration：表明该类是一个配置类，可用于定义 Spring 应用的 Bean 配置。
//@EnableAutoConfiguration：启用 Spring Boot 的自动配置功能，Spring Boot 会根据项目的依赖和配置自动配置应用程序。
//@ComponentScan：自动扫描指定包及其子包下的组件（如 @Component、@Service、@Repository 等注解标注的类）
// ，并将它们注册为 Spring Bean。
@MapperScan("com.dao")
//这是 MyBatis 提供的注解，用于指定 MyBatis Mapper 接口的扫描路径。
//Spring Boot 会自动扫描 com.dao 包下的所有 Mapper 接口，并将它们注册为 Spring Bean，
// 这样在代码中就可以直接使用这些 Mapper 接口进行数据库操作。
public class SpringbootSchemaApplication extends SpringBootServletInitializer {

	public static void main(String[] args) {
		SpringApplication.run(SpringbootSchemaApplication.class, args);
	}
//@Override：表示该方法是重写父类 SpringBootServletInitializer 中的 configure 方法。
//SpringApplicationBuilder 是一个用于构建 SpringApplication 实例的构建器类。
//builder.sources(SpringbootSchemaApplication.class)：指定 Spring Boot 应用的主配置类为 SpringbootSchemaApplication，这样在将应用打包成 WAR 文件并部署到外部 Servlet 容器时，
// 外部容器可以通过这个配置类来启动 Spring Boot 应用。
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(SpringbootSchemaApplication.class);
	}
}